<%@ page language="java" contentType="text/html; charset=UTF-8"
		 pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="cn.estore.util.DBConnection" %>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>用户信息展示</title>
	<style>
		body {
			font-family: Arial, sans-serif;
			background-color: #f4f4f9;
			color: #333;
			margin: 0;
			padding: 0;
			text-align: center;
		}
		h1 {
			color: #4CAF50;
			margin-top: 20px;
		}
		table {
			width: 95%; /* 增大表格宽度 */
			max-width: none; /* 去除最大宽度限制 */
			margin: 20px auto;
			border-collapse: collapse;
			box-shadow: 0 2px 3px rgba(0,0,0,0.1);
			font-size: 18px; /* 增大表格内文字字号 */
		}
		th, td {
			padding: 25px; /* 进一步增加 padding 值 */
			text-align: left;
			border-bottom: 1px solid #ddd;
		}
		th {
			background-color: #4CAF50;
			color: white;
		}
		tr:hover {
			background-color: #f1f1f1;
		}
		.container {
			margin: 20px auto;
			width: 95%;
			max-width: none;
			text-align: left;
		}
		@media (max-width: 600px) {
			table {
				width: 90%;
			}
			th, td {
				padding: 15px;
			}
			.container {
				width: 90%;
			}
		}
	</style>
</head>
<body>
<%
	Connection conn = null;
	PreparedStatement stmt = null;
	ResultSet rs = null;
	try {
		// 获取数据库连接
		DBConnection jdbc = new DBConnection();
		conn = jdbc.getConnection();
		// 使用PreparedStatement替代Statement，便于参数化查询（虽然此处暂未用到参数化查询优势，但更规范）
		String sql = "select * from user";
		stmt = conn.prepareStatement(sql);
		rs = stmt.executeQuery();
%>
<div class="container">
	<h1>用户信息展示</h1>
	<table>
		<tr>
			<th>序号</th>
			<th>用户名</th>
			<th>真实姓名</th>
			<th>年龄</th>
			<th>性别</th>
			<th>密码</th>
			<th>专业</th>
			<th>爱好</th>
			<th>邮箱</th>
		</tr>
		<%
			// 循环遍历结果集，将数据填充到表格行中
			while (rs.next()) {
		%>
		<tr>
			<td><%=rs.getString(1)%></td>
			<td><%=rs.getString(2)%></td>
			<td><%=rs.getString(3)%></td>
			<td><%=rs.getInt(4)%></td>
			<td><%=rs.getString(5)%></td>
			<td><%=rs.getString(6)%></td>
			<td><%=rs.getString(7)%></td>
			<td><%=rs.getString(8)%></td>
			<td><%=rs.getString(9)%></td>
		</tr>
		<%
			}
		%>
	</table>
</div>
<%
	} catch (SQLException e) {
		// 捕获数据库操作异常，输出提示信息告知用户
		out.println("数据库操作出现异常，请稍后再试！");
		e.printStackTrace();
	} finally {
		// 使用try-with-resources语句自动关闭资源，无需手动编写关闭代码，增强代码可靠性
		try {
			if (rs!= null) {
				rs.close();
			}
			if (stmt!= null) {
				stmt.close();
			}
			if (conn!= null) {
				conn.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
%>
</body>
</html>
